#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2024/4/7 14:41
# @File    : 1读取ui文件.py
# @Description : -i http://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn


import tkinter as tk
from tksheet import Sheet


def on_mouse_move(event):
    # 获取鼠标在 tksheet 中的位置
    x, y = event.x, event.y
    # print(event.widget)
    # 每个单元格的宽高（这里默认认为每个单元格的宽高都一致）
    row_wide = sheet.get_column_widths()[0]
    row_height = sheet.get_row_heights()[0]
    # 计算鼠标当前所在的行（注意要减去表头的高度，如果有的话）
    row, col = y // row_height, x // row_wide
    print(row, col)
    # 检查行号是否在有效范围内
    if 0 <= row < sheet.get_row_heights().__len__():
        # 清除之前所有行的背景颜色
        sheet.dehighlight_rows(rows=[], redraw=True)
        # 为当前行加背景颜色
        sheet.highlight_rows(rows=[row], bg='#E6EFFD', fg=None)



root = tk.Tk()
root.geometry("400x300")  # 设置窗口大小

# 初始化 tksheet 实例
sheet = Sheet(root, data=[[f"{_}" for _ in range(10)] for _ in range(10)])
sheet.enable_bindings()
sheet.pack(fill="both", expand=True)


# 绑定鼠标移动事件
#sheet.bind("<Enter>", on_mouse_move)
sheet.bind("<Motion>", on_mouse_move)


# 运行主循环
root.mainloop()